AB测试常识-增长黑客系列【2】
这是我第39篇文章,欢迎阅读
很多事情,看起来简单,其实暗藏玄机。
最快的成长来自解决你认为不可能完成的事情。
之前在我印象中,AB测试就是为了测试一个变量对用户影响,在保证其他变量一致情况下,找两个规模差不多的样本做用户实验。其中一个样本为实验组A(测试的变量有变化),另外一个是对照组B(什么都不做),实验结果如果A的效果(一般是说转化率之类的)比B好,就代表改变变量有效果。难点在于怎么保持其他变量保持一致以保证可对比性。其实觉得还好,不难。
直到最近,我被问到几个问题,我才觉得需要搜集资料好好升级我对AB测试的认知。
问题一:AB测试的样本选择多少合适?越多越好?
问题二:业务每天都在做成千上百个实验,如何保证每个AB测试之间不会相互影响?
问题三:数据本身就会有波动,如何保证实验中实验组A比实验组B结果好不是因为数据本来的波动呢?
问题四:如果实验A结果一开始是比对照组B的好,但是观察一段时间后,试验A的数据持续下降(还是比对照组B好,但是差距在逐渐减少),这是什么原因呢?还能说明实验A效果好么?
被上诉几个问题追问后,我努力找到了一些我认为可以的答案,如果你有其他见解,欢迎留言讨论,共同学习,这里并没有标准的答案哦。
一、AB测试样本量如何如何选择
理论上样本量越大越好。但是,如果实验样本越大,风险越高。如果实验用的产品方案不够成熟,会给整体业务带来极高的风险,用户可能会投诉或者直接卸载我们的产品。所以,样本量足够反应要实验的目标即可,不可贪大,太小也不行,太小就不够代表性。
非要纠结公式推导的最小样本量,网上有现成的计算器,搜索sample size计算器可以使用计算。
在现在千万级以上的APP中做AB测试,样本量都不会不够,评估结果的可用性才是更为重要的。
这里的样本计算涉及到中心极限定理、正态分布、假设检验、置信区间、显著水平等数学概念。
推荐阅读:https://zhuanlan.zhihu.com/p/36384858
二、如何避免多个AB测试之间的互相影响
以前我以为只要保证两个实验的正交性就够了,但是,现在的产品每天都在做成千上万的实验,已经很难保证互相之间没有影响了。只能引入流量分层的概念:即同一份流量可能同时命中两个或者多个实验,但是要保证其他实验对同一份流量的影响是均衡的。同时设置独占浏览器测试域,可以同时做独立式实验,不用考虑流量正交性。
推荐:www.cnblogs.com/haolujun/p/9818191.html
现在一些AB测试平台工具,就是把流量分层做得比较极致,这是区别以前简单做实验的很大的点。
三、如何验证实验结果可用性
这里就是需要用到假设检验与显著性水平的概念。
不能说实验A字面上的转化率比对照组B高就一定是实验A效果好,也可能是数据本身波动的原因造成的。这需要我们做一个假设检验,零假设就是差异是波动造成的,备选假设就是不是随机波动造成的。利用统计概率只是,计算波动的概率值,就是P值。如果P值比显著水平(一般按经验定为0.05)高,那么零假设成立,否则,拒绝零假设。
P值的计算公式取决于假设检验的具体方式,常用的假设检验方法有Z检验、T检验和卡方检验等,不同的方法有不同的适用条件和检验目标。
下面两页PPT是同事孔蓓蓓年前的分享内容,写得比较通俗易懂:
推荐:
http://www.woshipm.com/search-posts?k=A%2FB%E6%B5%8B%E8%AF%95%E7%AE%97%E6%B3%95%E5%A4%A7%E6%8F%AD%E7%A7%98&is_v=1
四、实验数据出现波动的原因解释
如果实验A结果一开始是比对照组B的好,但是观察一段时间后,试验A的数据持续下降(还是比对照组B好,但是差距在逐渐减少),这是什么原因呢?还能说明实验A效果好么?
首先应该排除是不是数据提取有误,如果不是,我们要考虑两个问题。
一是新奇效应,对于一些新功能新用法,同一拨用户刚刚开始使用是会感到新奇,点击率会比较高,但是随着时间过去,用户习惯之后,点击率可能又恢复跟以前差不多了。这可能就是新奇效应导致的短期效果,这要结合实验结果的置信区间进一步判断。
二是考虑用户的生命周期。你圈定的样本群的使用行为本身就有周期性的因素,例如可能周末使用就比较多或者少,或者月初月末效应,或者用户的正常流失等,最终的结合要结合显著性水平一起判断。
当然,这只是我猜想的原因,你可以留言跟我一起讨论下,还有哪些原因跟方法解释这个问题哦,互相学习,共同进步:)
最后,推荐一本关于AB测试的书籍《数据驱动设计》,里面极少公式,主要涉及如何用AB测试推动产品设计的改进,里面有些内容比很多网上的资料更加系统。
最后的最后,觉得这篇文章有用,请点击“在看”或者分享朋友圈,也非常欢迎你的留言互动,关于数据分析,我也很多地方要学习,一起加油吧!
来,一起玩转数据分析